namespace ext.chart
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// The Ext.chart package provides the capability to visualize data with flash based charting.
	/// Each chart binds directly to an Ext.data.Store enabling automatic updates of the chart.
	/// To change the look and feel of a chart, see the {@link #chartStyle} and {@link #extraStyle} config options.
	/// </summary>
	/// <definedin>src\widgets\chart\Chart.js</definedin>
	[ScriptName("Chart")]
	[ScriptNamespace("Ext.chart")]
	[Imported()]
	public partial class Chart : ext.FlashComponent
	{
		
		#region Constructors
		public Chart(ext.chart.Chart_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public Chart()
		{
		}
		#endregion
		
		#region Fields
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("backgroundColor")]
		public string BackgroundColor;
		
		/// <summary>
		/// Sets styles for this chart. This contains default styling, so modifying this property will override
		/// the built in styles of the chart. Use {@link #extraStyle} to add customizations to the default styling.
		/// </summary>
		/// <htmlSummary>
		/// Sets styles for this chart. This contains default styling, so modifying this property will &lt;b&gt;override&lt;/b&gt;
		/// the built in styles of the chart. Use {@link #extraStyle} to add customizations to the default styling.
		/// </htmlSummary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("chartStyle")]
		public object ChartStyle;
		
		/// <summary>
		/// The url to load the chart from. This defaults to Ext.chart.Chart.CHART_URL, which should
		/// be modified to point to the local charts resource.
		/// </summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("url")]
		public string Url;
		
		/// <summary>
		/// Contains extra styles that will be added or overwritten to the default chartStyle. Defaults to null.
		/// For a detailed list of the options available, visit the YUI Charts site
		/// at http://developer.yahoo.com/yui/charts/#basicstyles 
		/// Some of the options availabe:   padding - The space around the edge of the chart&apos;s contents. Padding does not increase the size of the chart.  animationEnabled - A Boolean value that specifies whether marker animations are enabled or not. Enabled by default.  font - An Object defining the font style to be used in the chart. Defaults to { name: &apos;Tahoma&apos;, color: 0x444444, size: 11 }   name - font name  color - font color (hex code, ie: &quot;#ff0000&quot;, &quot;ff0000&quot; or 0xff0000)  size - font size in points (numeric portion only, ie: 11)  bold - boolean  italic - boolean  underline - boolean    border - An object defining the border style around the chart. The chart itself will decrease in dimensions to accomodate the border.   color - border color (hex code, ie:...
		/// </summary>
		/// <htmlSummary>
		/// Contains extra styles that will be added or overwritten to the default chartStyle. Defaults to &lt;tt&gt;null&lt;/tt&gt;.
		/// For a detailed list of the options available, visit the YUI Charts site
		/// at &lt;a href=&quot;http://developer.yahoo.com/yui/charts/#basicstyles&quot;&gt;http://developer.yahoo.com/yui/charts/#basicstyles&lt;/a&gt;&lt;br/&gt;
		/// Some of the options availabe:&lt;br /&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:16px;list-style-type:inherit;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;padding&lt;/b&gt; - The space around the edge of the chart&apos;s contents. Padding does not increase the size of the chart.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;animationEnabled&lt;/b&gt; - A Boolean value that specifies whether marker animations are enabled or not. Enabled by default.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;font&lt;/b&gt; - An Object defining the font style to be used in the chart. Defaults to &lt;tt&gt;{ name: &apos;Tahoma&apos;, color: 0x444444, size: 11 }&lt;/tt&gt;&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;name&lt;/b&gt; - font name&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;color&lt;/b&gt; - font color (hex code, ie: &quot;#ff0000&quot;, &quot;ff0000&quot; or 0xff0000)&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;size&lt;/b&gt; - font size in points (numeric portion only, ie: 11)&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;bold&lt;/b&gt; - boolean&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;italic&lt;/b&gt; - boolean&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;underline&lt;/b&gt; - boolean&lt;/li&gt;
		/// &lt;/ul&gt;
		/// &lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;border&lt;/b&gt; - An object defining the border style around the chart. The chart itself will decrease in dimensions to accomodate the border.&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;color&lt;/b&gt; - border color (hex code, ie: &quot;#ff0000&quot;, &quot;ff0000&quot; or 0xff0000)&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;size&lt;/b&gt; - border size in pixels (numeric portion only, ie: 1)&lt;/li&gt;
		/// &lt;/ul&gt;
		/// &lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;background&lt;/b&gt; - An object defining the background style of the chart.&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;color&lt;/b&gt; - border color (hex code, ie: &quot;#ff0000&quot;, &quot;ff0000&quot; or 0xff0000)&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;image&lt;/b&gt; - an image URL. May be relative to the current document or absolute.&lt;/li&gt;
		/// &lt;/ul&gt;
		/// &lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;legend&lt;/b&gt; - An object defining the legend style&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;display&lt;/b&gt; - location of the legend. Possible values are &quot;none&quot;, &quot;left&quot;, &quot;right&quot;, &quot;top&quot;, and &quot;bottom&quot;.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;spacing&lt;/b&gt; - an image URL. May be relative to the current document or absolute.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;padding, border, background, font&lt;/b&gt; - same options as described above.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;dataTip&lt;/b&gt; - An object defining the style of the data tip (tooltip).&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;padding, border, background, font&lt;/b&gt; - same options as described above.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;xAxis and yAxis&lt;/b&gt; - An object defining the style of the style of either axis.&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;color&lt;/b&gt; - same option as described above.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;size&lt;/b&gt; - same option as described above.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;showLabels&lt;/b&gt; - boolean&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;labelRotation&lt;/b&gt; - a value in degrees from -90 through 90. Default is zero.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;majorGridLines and minorGridLines&lt;/b&gt; - An object defining the style of the style of the grid lines.&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;color, size&lt;/b&gt; - same options as described above.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/li&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;zeroGridLine&lt;/b&gt; - An object defining the style of the style of the zero grid line.&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;color, size&lt;/b&gt; - same options as described above.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/li&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;majorTicks and minorTicks&lt;/b&gt; - An object defining the style of the style of ticks in the chart.&lt;br/&gt;
		/// &lt;ul style=&quot;padding:5px;padding-left:26px;list-style-type:circle;&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;color, size&lt;/b&gt; - same options as described above.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;length&lt;/b&gt; - the length of each tick in pixels extending from the axis.&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;display&lt;/b&gt; - how the ticks are drawn. Possible values are &quot;none&quot;, &quot;inside&quot;, &quot;outside&quot;, and &quot;cross&quot;.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/li&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("extraStyle")]
		public object ExtraStyle;
		
		/// <summary>Contains styles to apply to the series after a refresh. Defaults to null.</summary>
		/// <htmlSummary>Contains styles to apply to the series after a refresh. Defaults to &lt;tt&gt;null&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("seriesStyles")]
		public object SeriesStyles;
		
		/// <summary>True to add a &quot;cache buster&quot; to the end of the chart url. Defaults to true for Opera and IE.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("disableCaching")]
		public bool DisableCaching;
		
		/// <summary>
		/// Fires before a refresh to the chart data is called. If the beforerefresh handler returns
		/// false the {@link #refresh} action will be cancelled.
		/// </summary>
		/// <htmlSummary>
		/// Fires before a refresh to the chart data is called. If the beforerefresh handler returns
		/// &lt;tt&gt;false&lt;/tt&gt; the {@link #refresh} action will be cancelled.
		/// </htmlSummary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("beforerefreshEventName")]
		public const string BeforerefreshEventName = "beforerefresh";
		
		/// <summary>Fires after the chart data has been refreshed.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("refreshEventName")]
		public const string RefreshEventName = "refresh";
		#endregion
		
		#region Properties
		/// <summary>Sets the url to load the chart from. This should be set to a local resource.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("CHART_URL")]
		[IntrinsicProperty()]
		public static string CHART_URL
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Sets a single style value on the Chart instance.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		/// <param name="name">Name of the Chart style value to change.</param>
		/// <param name="value">New value to pass to the Chart style.</param>
		[ScriptName("setStyle")]
		public void SetStyle(string name, object value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Resets all styles on the Chart instance.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		/// <param name="Object">Initializer for all Chart styles.</param>
		[ScriptName("setStyles")]
		public void SetStyles(object Object)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the styles on all series in the Chart.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		/// <param name="Array">Initializer for all Chart series styles.</param>
		[ScriptName("setSeriesStyles")]
		public void SetSeriesStyles(object Array)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Changes the data store bound to this chart and refreshes it.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		/// <param name="store">The store to bind to this chart</param>
		[ScriptName("bindStore")]
		public void BindStore(ext.data.Store store)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>
		/// Fires before a refresh to the chart data is called. If the beforerefresh handler returns
		/// false the {@link #refresh} action will be cancelled.
		/// </summary>
		/// <htmlSummary>
		/// Fires before a refresh to the chart data is called. If the beforerefresh handler returns
		/// &lt;tt&gt;false&lt;/tt&gt; the {@link #refresh} action will be cancelled.
		/// </htmlSummary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("beforerefresh")]
		public event ext.auto.Delegate_ext_chart_Chart Beforerefresh;
		
		/// <summary>Fires after the chart data has been refreshed.</summary>
		/// <definedin>src\widgets\chart\Chart.js</definedin>
		[ScriptName("refresh")]
		public event ext.auto.Delegate_ext_chart_Chart Refresh;
		#endregion
	}
}
